﻿
namespace ZR.Model.Dto.Business.ProductionControl
{
    /// <summary>
    /// 记录工件加工过程的详细信息查询对象
    /// </summary>
    public class CksProductionRecordQueryDto : PagerInfo
    {

        public string CoverCode { get; set; }

        public string ProductCode { get; set; }

        public DateTime? BeginTime { get; set; }
        public DateTime? EndTime { get; set; }
    }

    /// <summary>
    /// 记录工件加工过程的详细信息输入输出对象
    /// </summary>
    public class CksProductionRecordDto
    {
        [Required(ErrorMessage = "Id不能为空")]
        public long Id { get; set; }

        [Required(ErrorMessage = "加工流水号不能为空")]
        public string SerialNumber { get; set; }

        [Required(ErrorMessage = "盖板码不能为空")]
        public string CoverCode { get; set; }

        [Required(ErrorMessage = "成品码不能为空")]
        public string ProductCode { get; set; }

        [Required(ErrorMessage = "条码的质量等级不能为空")]
        public string BarcodeGrade { get; set; }

        [Required(ErrorMessage = "加工状态 1-A面开始 2-A面完成 3-完成 4-打标投入 5-打标结束 6-B面开始不能为空")]
        public int ProcessingStatus { get; set; }

        [Required(ErrorMessage = "A面的机床编号不能为空")]
        public int ASideMachineNumber { get; set; }

        [Required(ErrorMessage = "A面的工装编号不能为空")]
        public int ASideToolingNumber { get; set; }

        public DateTime? ASideLoadingTime { get; set; }

        public DateTime? ASideStartTime { get; set; }

        public DateTime? ASideEndTime { get; set; }

        public DateTime? ASideUnloadingTime { get; set; }

        public DateTime? MarkingLoadingTime { get; set; }

        public DateTime? MarkingStartTime { get; set; }

     

        /// <summary>
        /// 打码并完成评级的时间 
        /// </summary>
        public DateTime? MarkingCompletedTime { get; set; }

        /// <summary>
        /// 打标取出时间 
        /// </summary>
        public DateTime? MarkingGradingTime { get; set; }

      

        [Required(ErrorMessage = "B面的机床编号不能为空")]
        public int BSideMachineNumber { get; set; }

        [Required(ErrorMessage = "B面的工装编号不能为空")]
        public int BSideToolingNumber { get; set; }

        public DateTime? BSideLoadingTime { get; set; }

        public DateTime? BSideStartTime { get; set; }

        public DateTime? BSideEndTime { get; set; }

        public DateTime? BSideUnloadingTime { get; set; }

        public DateTime? ProductCleaningLoadingTime { get; set; }

        [Required(ErrorMessage = "Nullity不能为空")]
        public bool Nullity { get; set; }

        [Required(ErrorMessage = "CreatedTime不能为空")]
        public DateTime? CreatedTime { get; set; }

        [Required(ErrorMessage = "IsDeleted不能为空")]
        public bool IsDeleted { get; set; }



        [ExcelColumn(Name = "加工状态 1-A面开始 2-A面完成 3-完成 4-打标投入 5-打标结束 6-B面开始")]
        public string ProcessingStatusLabel { get; set; }
    }
}